#include "plotdata.h"


PlotData::~PlotData()
{

}

PlotData::PlotData(
    Gdk::RGBA color,
    LineStyle line_style,
    double line_width ):
        m_shown(true),
        m_color(color),
        m_symbol_color(Gdk::RGBA("Red")),
        m_line_style(line_style),
        m_line_width(line_width),
        m_symbol_scale_factor(1.0),
        m_name(""),
        m_symbol("")
            {
                this -> SignalChanged().connect(sigc::mem_fun(*this,&PlotData::OnChanged));
                this -> SignalDataModified().connect(sigc::mem_fun(*this,&PlotData::OnDataModified));
            }

void PlotData::OnChanged() {

}

void PlotData::OnDataModified() {

}

void PlotData::SetName(Glib::ustring name) {
    m_name=name;
}

Glib::ustring PlotData::GetName() {
    return m_name;
}

void PlotData::Show() {
    m_shown = true;
    m_SignalDataModified.emit();
}

void PlotData::Hide() {
    m_shown = false;
    m_SignalDataModified.emit();
}

bool PlotData::IsShowing() {
    return m_shown;
}

void PlotData::SetColor(Gdk::RGBA color) {
    m_color = color;
    m_SignalChanged.emit();
}

Gdk::RGBA PlotData::GetColor() {
    return m_color;
}

void PlotData::SetLineStyle(LineStyle line_style) {
    m_line_style = line_style;
    m_SignalChanged.emit();
}

LineStyle  PlotData::GetLineStyle() {
    return m_line_style;
}

void PlotData::SetLineWidth(double line_width) {
    m_line_width = line_width;
    m_SignalChanged.emit();
}

double   PlotData::GetLineWidth() {
    return m_line_width;
}

sigc::signal<void(void)> PlotData::SignalChanged() {

            return m_SignalChanged;
        }

sigc::signal<void(void)> PlotData::SignalDataModified() {

            return m_SignalDataModified;
        }
void PlotData::set_manage() {
         m_managed = true;
       }

void PlotData::DataDraw(const Cairo::RefPtr<Cairo::Context> &cr,uint16_t width,uint16_t height,
                        uint32_t x_interval_begin,uint32_t x_interval_end, double y_offset_min, double y_offset_max)
{

}

